/**
 * @typedef {Object} ITagItem
 * @property {string} name - 标签名称
 */

/**
 * @typedef {ITagItem[]} ITagList
 */

/**
 * @typedef {Object} IRoomRecommendItem
 * @property {string} id - 房源ID
 * @property {string} housePicture - 房源图片
 * @property {ITagList} tags - 房源标签列表
 * @property {string} houseTitle - 房源标题
 * @property {string} address - 房源地址
 * @property {string} rentArea - 租赁面积
 * @property {string} rentPriceUnit - 租金单位
 * @property {string} rentPriceListing - 租金价格
 */

/**
 * @typedef {IRoomRecommendItem[]} IRoomRecommendList
 */

/**
 * @typedef {'月付'|'季付'|'半年付'|'年付'} IPaymentType
 */

/**
 * @typedef {'面积'|'价格'} IOrderBy
 */

/**
 * @typedef {'asc'|'desc'} IOrderType
 */

/**
 * @typedef {Object} IGetRentRoomListParams
 * @property {number} page - 页码
 * @property {number} limit - 每页数量
 * @property {string} [keyword] - 关键词
 * @property {string} [provinceId] - 省份ID
 * @property {string} [cityId] - 城市ID
 * @property {string} [districtId] - 区域ID
 * @property {string} [minRent] - 最小租金
 * @property {string} [maxRent] - 最大租金
 * @property {IPaymentType} [paymentType] - 付款方式
 * @property {IOrderBy} [orderBy] - 排序字段
 * @property {IOrderType} [orderType] - 排序方式
 */

/**
 * @typedef {Object} IGetRentRoomListResponse
 * @property {IRoomRecommendList} records - 房源列表
 * @property {number} total - 总数量
 * @property {number} size - 每页数量
 * @property {number} current - 当前页码
 * @property {number} pages - 总页数
 */

/**
 * @typedef {Object} IFilterOption
 * @property {string} label - 显示文本
 * @property {string} value - 选项值
 */

/**
 * @typedef {IFilterOption[]} IFilterOptions
 */

/**
 * @typedef {Object} ISearchFilterState
 * @property {string} location - 选中的位置
 * @property {string} rentRange - 选中的租金范围
 * @property {string} sortBy - 选中的排序方式
 */

/**
 * @typedef {Object} IRoomDetail
 * @property {string} id - 房源ID
 * @property {string} houseTitle - 房源标题
 * @property {string} address - 房源地址
 * @property {string} rentArea - 租赁面积
 * @property {string} rentPriceListing - 租金价格
 * @property {string} rentPriceUnit - 租金单位
 * @property {string} housePicture - 房源图片
 * @property {ITagList} tags - 房源标签列表
 * @property {string} distanceInfo - 距离信息
 * @property {string} description - 房源描述
 */